// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.google.gson.internal.bind; import com.google.gson.Gson; import com.google.gson.TypeAdapter; import com.google.gson.TypeAdapterFactory; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonToken; import com.google.gson.stream.JsonWriter; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; // Referenced classes of package com.google.gson.internal.bind: // a, m public final class ArrayTypeAdapter extends TypeAdapter { public static final TypeAdapterFactory FACTORY = new a(); private final Class a; private final TypeAdapter b; public ArrayTypeAdapter(Gson gson, TypeAdapter typeadapter, Class class1) { b = new m(gson, typeadapter, class1); a = class1; } public Object read(JsonReader jsonreader) { if (jsonreader.peek() == JsonToken.NULL) { jsonreader.nextNull(); return null; } ArrayList arraylist = new ArrayList(); jsonreader.beginArray(); for (; jsonreader.hasNext(); arraylist.add(b.read(jsonreader))) { } jsonreader.endArray(); Object obj = Array.newInstance(a, arraylist.size()); for (int i = 0; i < arraylist.size(); i++) { Array.set(obj, i, arraylist.get(i)); } return obj; } public void write(JsonWriter jsonwriter, Object obj) { if (obj == null) { jsonwriter.nullValue(); return; } jsonwriter.beginArray(); int i = 0; for (int j = Array.getLength(obj); i < j; i++) { Object obj1 = Array.get(obj, i); b.write(jsonwriter, obj1); } jsonwriter.endArray(); } }